import request from '@/utils/request'

// 查询计时计费订单列表
export function listJishiOrder(query) {
  return request({
    url: '/system/jishiOrder/list',
    method: 'get',
    params: query
  })
}

/**
 * 修改计时计费订单。
 * @param data
 * @return {AxiosPromise}
 */
export function modifyJishiOrder(data) {
  return request({
    url: '/system/jishiOrder',
    method: 'put',
    data: data
  })
}

// 查询套餐计费订单列表
export function listTaocanOrder(query) {
  return request({
    url: '/system/taocanOrder/list',
    method: 'get',
    params: query
  })
}

/**
 * 修改计时计费订单。
 * @param data
 * @return {AxiosPromise}
 */
export function modifyTaocanOrder(data) {
  return request({
    url: '/system/taocanOrder',
    method: 'put',
    data: data
  })
}

/**
 * 后台主动关闭指定订单。
 * 注意：
 * 1，后台能主动关闭的订单类型：
 *   (1) 处于使用中且还未开始计费的订单，此类型的订单已完成押金支付，且已扫码确认上船，但可能由于游客滑屏解锁船只失败，比如船锁坏了打不开或其他原因导致船无法使用，
 *   当前订单无法进行下去也无法结束，因此只能在后台手动关闭此订单。
 *   (2) 已结束计费但仍存在待支付费用(如计时订单计时费用和套餐订单超时费用)的订单(此时订单也处于待付款状态)，这种类型的订单后台主动给其关闭的目的通常是为了让特殊用户免费游玩的，订单关闭后押金也会主动退还。
 * 2，后台主动关闭订单后，也会主动退还用户已支付的押金(如果有支付过)，且用户还未支付的订单费用也不用支付了；
 */
export function closeOrder(data) {
  return request({
    url: '/system/order/closeOrder',
    method: 'post',
    data: data
  })
}

/**
 * 后台主动停止计费。
 * <p>
 * 注意：
 * 1，此接口只能停止处于使用中状态，且已经开始计费的订单。
 * 2，此接口只会停止订单的计费，不会关闭订单，订单产生的待支付费用用户后续依然需要完成支付。
 *
 */
export function stopCharging(data) {
  return request({
    url: '/system/order/stopCharging',
    method: 'post',
    data: data
  })
}

